home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 26.zip / BS1 part 26 / Aztec C v5.2a disk 4.adf / 204inc_h.lzh / intuition / intuitionbase.h < prev    next >
C/C++ Source or Header  |  1991-03-14  |  2KB  |  97 lines

  1. #ifndef INTUITION_INTUITIONBASE_H
  2. #define INTUITION_INTUITIONBASE_H 1
  3. /*
  4. **  $Filename: intuition/intuitionbase.h $
  5. **  $Release: 2.04 $
  6. **  $Revision: 36.19 $
  7. **  $Date: 90/07/12 $
  8. **
  9. **  Public part of IntuitionBase structure and supporting structures
  10. **
  11. **  (C) Copyright 1985,1986,1987,1988,1989,1990 Commodore-Amiga, Inc.
  12. **        All Rights Reserved
  13. */
  14.  
  15. #ifndef EXEC_TYPES_H
  16. #include <exec/types.h>
  17. #endif
  18.  
  19. #ifndef EXEC_LIBRARIES_H
  20. #include <exec/libraries.h>
  21. #endif
  22.  
  23. #ifndef INTUITION_INTUITION_H
  24. #include <intuition/intuition.h>
  25. #endif
  26.  
  27.  
  28. #ifndef EXEC_INTERRUPTS_H
  29. #include <exec/interrupts.h>
  30. #endif
  31.  
  32. /* these are the display modes for which we have corresponding parameter
  33.  *  settings in the config arrays
  34.  */
  35. #define DMODECOUNT    0x0002    /* how many modes there are */
  36. #define HIRESPICK    0x0000
  37. #define LOWRESPICK    0x0001
  38.  
  39. #define EVENTMAX 10        /* size of event array */
  40.  
  41. /* these are the system Gadget defines */
  42. #define RESCOUNT    2
  43. #define HIRESGADGET    0
  44. #define LOWRESGADGET    1
  45.  
  46. #define GADGETCOUNT    8
  47. #define UPFRONTGADGET    0
  48. #define DOWNBACKGADGET    1
  49. #define SIZEGADGET    2
  50. #define CLOSEGADGET    3
  51. #define DRAGGADGET    4
  52. #define SUPFRONTGADGET    5
  53. #define SDOWNBACKGADGET    6
  54. #define SDRAGGADGET    7
  55.  
  56. /* ======================================================================== */
  57. /* === IntuitionBase ====================================================== */
  58. /* ======================================================================== */
  59. /*
  60.  * Be sure to protect yourself against someone modifying these data as
  61.  * you look at them.  This is done by calling:
  62.  *
  63.  * lock = LockIBase(0), which returns a ULONG.    When done call
  64.  * UnlockIBase(lock) where lock is what LockIBase() returned.
  65.  */
  66.  
  67. /* This structure is strictly READ ONLY */
  68. struct IntuitionBase
  69. {
  70.     struct Library LibNode;
  71.  
  72.     struct View ViewLord;
  73.  
  74.     struct Window *ActiveWindow;
  75.     struct Screen *ActiveScreen;
  76.  
  77.     /* the FirstScreen variable points to the frontmost Screen.  Screens are
  78.      * then maintained in a front to back order using Screen.NextScreen
  79.      */
  80.     struct Screen *FirstScreen; /* for linked list of all screens */
  81.  
  82.     ULONG Flags;    /* values are all system private */
  83.     WORD    MouseY, MouseX;
  84.             /* note "backwards" order of these        */
  85.  
  86.     ULONG Seconds;    /* timestamp of most current input event */
  87.     ULONG Micros;    /* timestamp of most current input event */
  88.  
  89.     /* I told you this was private.
  90.      * The data beyond this point has changed, is changing, and
  91.      * will continue to change.
  92.      */
  93. };
  94.  
  95. #endif
  96.  
  97.